Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Good software



  Why accessing Java HashMap may cause infinite loop in concurrent environment

HashMap in Java is frequently used to handle key/value pairs. But it is not a good candidate to be used in concurrent environment where ConcurrentHashMap should be used instead. If used in concurrent environment, it may cause lots of unexpected behavior even including make the program getting into an infinite loop situation. To understand how this can happen, let's first discuss how HaspMap works internally. In this post we will use implementation of HashMap before Java 8 as example, Java 8 prov...

   JAVA,HASHMAP,INFINITE LOOP     2020-03-29 01:47:00

  Front-end Style Guides

We all know that feeling: some time after we launch a site, new designers and developers come in and make adjustments. They add styles that don’t fit with the content, use typefaces that make us cringe, or chuck in bloated code. But if we didn’t leave behind any documentation, we can’t really blame them for messing up our hard work. To counter this problem, graphic designers are often commissioned to produce style guides as part of a rebranding project. A style guide ...

   Design,Guideline,CSS,Style,System     2011-12-07 08:54:59

  HTTP Streaming and Internet Explorer

In early 2006, Alex Russell posted about a neat hack that the Google Talk team in Gmail use to support Comet in Internet Explorer, a trick which works as far back as IE 5.01. What great news! A reliable way to stream Comet messages to Microsoft’s browsers. If only it were that easy. I have not been alone in the following findings: after connecting the htmlfile ActiveX object as a streaming Comet transport to my Comet server, everything works perfectly for a few messages, but then abruptly...

   IE,Streaming,JavaScript,htmlfile,ActiveX     2011-09-05 04:05:23

  Hackers vs. Coders

Photo Credit: Pranav MistryBeing a good hacker is an invaluable skill. But is being a coder the same as being a hacker? Is it possible that coders are at a creative disadvantage to hackers who don’t know how to code?Here’s a story that helped me see the difference.I was recently invited to mentor at Startup Weekend. On Friday night, we gathered to eat pizza, pitch ideas, create teams and discuss launch plans. At the end of the day, everyone was feeling great about what theyâ...

   Hacker,Coder,Comparison,Innovation     2011-05-11 02:11:09

  Consistency between Redis Cache and SQL Database

Nowadays, Redis has become one of the most popular cache solution in the Internet industry. Although relational database systems (SQL) bring many awesome properties such as ACID, the performance of the database would degrade under high load in order to maintain these properties. In order to fix this problem, many companies & websites have decided to add a cache layer between the application layer (i.e., the backend code which handles the business logic) and the storage layer (i.e., the SQL d...

   REDIS,CACHE,DATABASE     2019-07-07 08:14:16

  The Story of W&L: China’s Great Internet Divide

Here’s an introductory quote from The Story of W&L, a tale of China’s great internet divide: China does not have one so-called “national internet,” instead there’s a great divide. It encompasses the elite with ThinkPad laptops and also the grassroots with MTK Shanzhai mobile phones. Our elites are on par with America, while our grassroots are on par with Vietnam. This is the story of W&L, two representatives of China’s great internet divide. T...

   China,Internet divide,Elite,Grassroot,Laptop,Mobile phone     2011-12-05 12:23:56

  Handling Plugins In PHP

A common problem that developers face when building applications is how to allow the application to be "plug-able" at runtime.  Meaning, to allow non-core code to modify the way an application is processed at runtime.  There are a lot of different ways that this can be done, and lots of examples of it in real life.  Over a year ago, I wrote a StackOverflow Answer on this topic.  However, I think it deserves another look.  So let's look at some patterns and common im...

   PHP,Plugin,Handling     2012-03-11 13:18:39

  Programming Languages for Machine Learning Implementations

Machine learning algorithms have a much better chance of being widely adopted if they are implemented in some easy-to-use code. There are several important concerns associated with machine learning which stress programming languages on the ease-of-use vs. speed frontier.Speed The rate at which data sources are growing seems to be outstripping the rate at which computational power is growing, so it is important that we be able to eak out every bit of computational power. Garbage collected la...

   Programming language,Machine learning,Development     2011-11-16 08:22:17

  Redesigning the Technical Hiring Process

Since my last post on technical interviews, I’ve been fairly involved in hiring at Pulse as we grew our team from 6 people when I joined last November to 14 full-timers. In my previous post, I suggested that technical interviews, in the conventional sense, are not especially effective (by technical interviews, I mean the traditional 45 minute coding-at-a-whiteboard and algorithm puzzlers interviews). Those do a great job of telling you how well a candidate is at acing those types o...

   Career,Recruitment,Process,Developer,Ski     2011-09-14 12:01:37

  Taking C Seriously

Dennis Ritchie, a co-creator of Unix and C, passed away a few weeks ago, and was honored with many online tributes this weekend for a Dennis Ritchie Day advocated by Tim O’Reilly.It should hardly be necessary to state the importance of Ritchie’s work. C is the #2 language in use today according to the TIOBE rankings (which, while criticized in some quarters, are at least the best system we currently have for gauging such things). In fact, TIOBE’s pre...

   C,Efficiency,Memorization,Dennis Ritchie     2011-11-03 13:42:14